import VeeValidate from "vee-validate";
// 引入veevalidate的中文包
import zh_CN from "vee-validate/dist/locale/zh_CN";

export default function (Vue) {
    Vue.use(VeeValidate);
    // 对Vee-Validate配置（必须写在ues之后）
    VeeValidate.Validator.localize("zh_CN", {
        // messages对象就是对提示信息的一个配置对象
        messages: {
            // 首先要展开一个中文包，包里有所有的配置信息
            ...zh_CN.messages,
            regex: (m) => `${m}的格式不正确`,
            is: (m) => `宁输入的${m}和上面的不一致`,
        },
        // 对字段进行中文名配置
        attributes: {
            phone: "手机号",
            code: "验证码",
            password: "密码",
            passAgain: "密码",
            agree: "协议",
        },
    });

    // 配置一个新的规则
    VeeValidate.Validator.extend("agree", {
        // 使用validate参数是一个函数，接收当前交验的值，如果通过返回true，否则返回false
        validate: (value) => {
            // 因为这个agree规则是写在input的多选框单个使用的表单上,所以值是一个布尔值,我们希望这个布尔值是true才能通过
            // if (value === true) {
            //   return true
            // } else {
            //   return false
            // }
            return value
        },
        // 使用getMessage配置项 配置提示信息，接收的参数是当前的字段名
        getMessage: (m) => {
            return `请先勾选上述${m}`;
        }
    })

}